Next | Prev | Up | Top | Contents | Index

User-Level Interrupt Management

A new facility in IRIX 6.2 allows you to receive and handle device interrupts in a function in a user-level program you write.

Your program calls a library function to register the interrupt-handling function. When the device generates an interrupt, the kernel branches directly into your handler. Because the handler runs as a subroutine of the kernel, it can use only a very limited set of system and library functions. However, it can refer to variables in the process address space, and it can wake up a process that is blocked, waiting for the interrupt to occur.

Combined with PIO, user-level interrupts allow you to test most of the logic of a device driver for a new device in user-level code.

In IRIX 6.2, support for user-level interrupts is limited to VME devices and to external interrupts in the Challenge L, Challenge XL,and Onyx systems and their POWER versions.

For more details on user-level interrupts, see Chapter 7, "User-Level Interrupts" and the uli(3) reference page.


Next | Prev | Up | Top | Contents | Index